#include "Triangle.h"
#include <gl/glut.h>
#include <fstream>
#include <iostream>

void Triangle::draw(){
	//draw Triangle
	glPushMatrix();
		glBegin(GL_TRIANGLES);
		glNormal3f(p0->getNormal().x, p0->getNormal().y, p0->getNormal().z);
		glVertex3f(p0->getPosition().x, p0->getPosition().y, p0->getPosition().z);
		glNormal3f(p1->getNormal().x, p1->getNormal().y, p1->getNormal().z);
		glVertex3f(p1->getPosition().x, p1->getPosition().y, p1->getPosition().z);
		glNormal3f(p2->getNormal().x, p2->getNormal().y, p2->getNormal().z);
		glVertex3f(p2->getPosition().x, p2->getPosition().y, p2->getPosition().z);
		glEnd();
	glPopMatrix();
}

void Triangle::draw(std::ofstream &outfile){
	//draw Triangle
	/*glPushMatrix();
		glBegin(GL_TRIANGLES);
		glNormal3f(p0->getNormal().x, p0->getNormal().y, p0->getNormal().z);
		glVertex3f(p0->getPosition().x, p0->getPosition().y, p0->getPosition().z);
		glNormal3f(p1->getNormal().x, p1->getNormal().y, p1->getNormal().z);
		glVertex3f(p1->getPosition().x, p1->getPosition().y, p1->getPosition().z);
		glNormal3f(p2->getNormal().x, p2->getNormal().y, p2->getNormal().z);
		glVertex3f(p2->getPosition().x, p2->getPosition().y, p2->getPosition().z);
		glEnd();
	glPopMatrix();*/
	outfile<<p0->getNormal().x<<" "<<p0->getNormal().y<<" "<<p0->getNormal().z<<" "<<p0->getPosition().x<<" "<<p0->getPosition().y<<" "<<p0->getPosition().z<<" ";
	outfile<<p1->getNormal().x<<" "<<p1->getNormal().y<<" "<<p1->getNormal().z<<" "<<p1->getPosition().x<<" "<<p1->getPosition().y<<" "<<p1->getPosition().z<<" ";
	outfile<<p2->getNormal().x<<" "<<p2->getNormal().y<<" "<<p2->getNormal().z<<" "<<p2->getPosition().x<<" "<<p2->getPosition().y<<" "<<p2->getPosition().z<<" ";
}